/*
 *  $Id: ILocalizer.cs 1176 2010-11-08 11:19:45Z thenn.erannor $
 *	This file is a part of Ragima CCG.
 *	(C) 2008-2010 Ragima development group.
 *
 *	Licensed under the terms of the GNU GPL License version 2.
 *
 */

namespace Ragima.Languages {
    /// <summary>
    /// Интерфейс для локализатора ресурсов.
    /// Выдает по запросу локализованные версии ресурсов.
    /// </summary>
    public interface ILocalizer {
        /// <summary>
        /// Код языка данного локализатора.
        /// </summary>
        string LangCode { get; }

        /// <summary>
        /// Количество ресурсов в данном локализаторе. Нужно лишь для статистики.
        /// </summary>
        int ResourceCount { get; }

        /// <summary>
        /// Ищет ресурс по идентификатору. Возвращает null, если ресурс не найден.
        /// </summary>
        T FindResource<T>(string resourceId) where T : class, ILocalized;
    }
}
